HERTZ OVERLOAD MANUAL


--------------------------------------------------------------------------------
END-USER AGREEMENT

DEFINITIONS - In this agreement: "Software" refers to any and all files included
in the Hertz Overload distribution archive.

RIGHTS AND RESTRICTIONS - You can: make copies of the Software; distribute
unmodified copies of the Software. You cannot: distribute modified copies of the
Software; use (any part of) the Software for a profit.

DISCLAIMER - THE SOFTWARE IS PROVIDED "AS-IS", WITHOUT ANY WARRANTY. TO THE
FULLEST EXTENT ALLOWED BY LAW, THE AUTHOR CANNOT BE HELD LIABLE FOR ANY DAMAGE
ARISING OUT OF THE (INABILITY OF MAKING) USE OF IT. USE AT YOUR OWN RISK.

GOVERNING LAW AND JURISDICTION - This agreement shall be governed by the laws of
the country of residence of the author at the time of the dispute. The author
reserves the right to appoint the venue for the dispute.

EPILEPSY WARNING - Some people are susceptible to epileptic seizures when
exposed to certain flashing lights or light patterns, and they may even be
unaware of it. The Software may cause problems to such people. Who experiences
blurred vision, dizziness, disorientation, loss of consciousness, twitches,
involuntary movements, convulsions while playing/watching the Software must stop
doing so immediately and receive the due medical assistance.


--------------------------------------------------------------------------------
GETTING STARTED

Hertz Overload requires:
 * Amiga computer
 * AGA chipset
 * ~1.8 MB of RAM
 * ~56 MB of storage space
 * PAL-capable display
 * stereo loudspeakers

To install Hertz Overload, unpack the LhA archive to any directory of your
choice.

To start Hertz Overload, run its executable from either shell or Workbench.

To quit Hertz Overload, press the right mouse button anytime (if not done, Hertz
Overload returns to AmigaOS automatically at the end). During the loading of
files or the streaming of music, you might need to keep the button pressed for
a short while.

If the device Hertz Overload is installed on is not fast enough to stream the
music, audio stuttering might happen or, in the worst case, the machine might
freeze. Allocating many buffers with AddBuffers might have adverse effects.
A stock Amiga 1200 with AmigaOS 3.1, able to trasfer blocks from a CompactFlash
card at a rate of about 1 MB/s, can run Hertz Overload from it just fine (even
after booting without startup-sequence, with as little as 10 buffers assigned
to the partition Hertz Overload is installed on, and without running any
additional software).

Note for emulators: due to the high and odd audio frequency, emulators will have
a hard time reproducing the audio exactly; the settings to use depend on what
each specific emulator offers and on how it operates; as a general guideline,
the output rate should be set to a high value starting from at least 141876 Hz;
also, emulators should emulate the Paula chip timings exactly.


--------------------------------------------------------------------------------
OVERVIEW

Hertz Overload is a demo that focuses on delivering very high quality music on
AGA Amigas, including base machines equipped with just a mass storage device
(which is needed to stream the huge amount of audio data).
"Very high quality translates" to: 2 true stereo channels, 14 bit resolution and
70937.9 Hz sample rate. While the first two parameters are common on the Amiga,
the third one is not: it is reknown that Paula can play samples at about 28 or
56 kHz in normal or doublescan screenmodes, respectively, but frequencies above
those are at least unusual. It is also common knowledge that Paula supports
higher frequencies when, instead of fetching the samples from the CHIP RAM
through its DMA channels, it passively receives them from the CPU - and that is
what happens in Hertz Overload.
Such playback method is extremely CPU intensive, as it requires the CPU to feed
Paula with samples regularly and frequently; therefore, it has been rarely (or
maybe never?) used.
Hertz Overload pushes things further as it also streams the samples from disk
and, at the same time, displays and scrolls graphics - and manages to do so also
on unexpanded machines.


--------------------------------------------------------------------------------
TECHNICAL DETAILS

The visual side of Hertz Overload is very lightweight and is handled by stock
machines without effort. In fact, it is programmed with AMOS Professional and
RETREAM's own ALS library.
The initial music and the sound effects are normal tracker modules, played by
means of the AMOS Professional P61 Extension (this was made necessary by the
fact that AMOS Professional's Track Play command does not support or execute
correctly the EDx command; maybe this could be worked around by reworking the
music module using a speed of 1 tick, but it would be basically a useless
exercise).
The streaming music part (graphics scrolling included) is executed entirely by
highly optimized assembly code (which disables AMOS Professional altogether so
that it does not get in the way).

The 14 bit playback method adopted is the classic one that plays the 8 most
significant bits of a sample on a channel, at the maximum volume of 64, and the
6 least significant bits on the other channel on the same side, at the minimum
volume of 1. Due to how Paula works, such method, to be precise, would require
users to perform manually a tedious calibration process on their machines -
that is definitely not something that watching a demo should require, so Hertz
Overload is happy to make do with the uncalibrated output (which sounds quite
good anyway).
Moreover, the high playback frequency should introduce another distorsion factor
that affects those 6 least significant bits, at least according to the currently
incomplete knowledge of Paula's inner workings. In theory, as a consequence of
the counter-based volume management of the volume, any volume other than 64
should no longer work when the period (time between two consecutive samples) is
less than 64 ticks - and Hertz Overload uses 50! However, tests performed on an
Amiga 1200 rev. 1B showed that Paula handles the volume graciously (albeit not
perfectly) also when the period is (much) smaller than 64 - and, in particular,
that a volume of 1 is handled (almost?) perfectly also in conjunction with a
period of 50 (which is what matters to Hertz Overload).


--------------------------------------------------------------------------------
BACKSTORY

The music track "Prockressions" was written while fiddling with the RETREAM
guitar after it got fixed and overhauled. It was not made for Hertz Overload,
but rather Hertz Overload was made to find a use for it.
Thinking of a way to let others enjoy the music brought the idea of making an
Amiga production, which immediately suggested the creation of a CPU-based player
to achieve a sufficiently high quality. In the past, I had never tried CPU-based
audio playback, but a quick experiment showed that it was doable and quite easy.
That led to the development of a set of tools that generate and play sound files
in a custom format aimed at minimizing the CPU load.
They also proved that the Amiga can reach remarkably high frequencies (much
beyond 70937.9 Hz), which pushed me in another direction: making something more
artistic than a player, and that simply meant... a demo!
Hertz Overload was being made for no specific demoparty. When it was almost
finished (May 21st, 2024), I decided to check out which demoparties were about
to come and found out that the 68k Inside 2024 was only a few days away! It
looked like I could meet the deadline (May 25th) easily, but, of course, on the
last day all that could go wrong went wrong, so I could not make all the little
changes and additions that I had planned.


--------------------------------------------------------------------------------
CREDITS

Created by Simone Bevilacqua
AMOS Professional P61 Extension by Chris Hodges
The Player 6.1A by Jarno Paananen
Testing by John Scolieri


--------------------------------------------------------------------------------

rev. 20240715

www.retream.com/Hertz_Overload
contact@retream.com
(c) 2024 RETREAM
